home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Windows 3-Pak 2 - Disc 2
/
Infomagic - Windows 3-Pak Volume 2 (Disc 2 of 3).iso
/
Telnet-Clients
/
nt3242a.exe
/
netedit.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-07-07
|
3KB
|
114 lines
/**********************************************************************
* InterSoft International, Inc *
* Copyright (C) 1995 *
***********************************************************************
* System: IBM PC *
* Program: NETEDIT.C *
* Author: K.R. Robinette *
* Date: July, 1996 *
* Function: Remote Editing Support *
**********************************************************************/
#include "stdio.h"
#include "string.h"
#include "sys/types.h"
#include "sys/stat.h"
char on[5] = {"\033[5i"};
char off[5] = {"\033[3i"};
main(argc,argv)
int argc;
char **argv;
{
int len,flag,mode;
FILE *fd;
char line[1024],out[1024];
struct stat buf;
if(argc == 2)
{
if((stat(argv[1],&buf)) != 0)
{
printf("Error, could not open %s\n",argv[1]);
exit(-1);
}
mode = buf.st_mode;
if((fd = fopen(argv[1],"r")) == NULL)
{
printf("Error, could not open %s\n",argv[1]);
exit(-1);
}
if((fwrite(on,1,4,stdout)) != 4)
{
printf("Error, writing to network\n");
exit(-1);
}
while(1)
{
if(fgets(line,1023,fd) == NULL)
break;
len = strlen(line);
fwrite(line,1,len,stdout);
}
fwrite(off,1,4,stdout);
}
else
{
printf("Input filename required\n");
exit(-2);
}
fclose(fd);
fd = NULL;
system("stty -echo");
strcpy(out,argv[1]);
strcat(out,".new");
line[0] = 0;
while(1)
{
if(fgets(line,sizeof(line)-1,stdin) == NULL)
{
flag = 2;
break;
}
if(line[0] == 0x02)
{
system("stty echo");
printf("File was not modified\n");
exit(0);
}
if(fd == NULL)
if((fd = fopen(out,"w")) == NULL)
{
system("stty echo");
printf("Error, could not open output file %s\n",out);
exit(-3);
}
if(line[0] == 0x01)
{
flag = 1;
break;
}
len = strlen(line);
fwrite(line,1,len,fd);
}
if(fd)
fclose(fd);
if(flag == 2)
remove(out);
else if(flag == 1)
{
remove(argv[1]);
strcpy(line,"mv ");
strcat(line,out);
strcat(line," ");
strcat(line,argv[1]);
system(line);
chmod(argv[1],mode);
}
system("stty echo");
if(flag == 1)
printf("File was modified\n");
else
printf("File was not modified\n");
}